/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package DAO;

import utilidades.OS;

/**
 *
 * @author Rafa
 */
public class Constantes {
    //Estas variables se corresponden con las de la base de datos

    //Constantes para las asignaturas y las secciones
    private static final String NO_ASIGNATURA = "No_Asignatura";
    private static final String NO_SECCION = "No_Seccion";

    //Constantes para los estados del articulo
    private static final String ART_SUBIDO = "Nuevo";
    private static final String ART_EN_REVISION = "En_Revision";
    private static final String ART_EN_MAQUETACION = "En_Maquetacion";
    private static final String ART_RECHAZADO_SECCION = "Rechazado_Seccion";
    private static final String ART_A_IMPRIMIR = "A_Imprimir";
    private static final String ART_RECHAZADO_MAQUETACION = "Rechazado_Maquetacion";
    private static final String ART_PUBLICADO = "Publicado";
    private static final String ART_ENVIADO_OK = "<div style='color:blue'>Gracias por enviárnos tu artículo</div>";

    //Constantes para los tipos de autores
    private static final String EXTERNO_UPO = "Externo UPO";
    private static final String INTERNO_UPO = "Interno UPO";
    private static final String DESCAUTOR = "Descripcion del autor";
    private static final String TEMA_DIVULGATIVO = "Divulgativo";
    private static final String TEMA_INVESTIGACION = "Investigacion";

    //NOTA: En verSeccion.jsp se utiliza un string
    //Constantes para los diferentes roles de usuario
    private static final String ROL_SUPERUSER = "Superuser";
    private static final String ROL_SECCION = "Seccion";
    private static final String ROL_MAQUETACION = "Maquetacion";

    //Constantes para los estados de las secciones
    private static final String SECCION_ACTIVADA = "on";
    private static final String SECCION_DESACTIVADA = "off";

    //Constantes para los estados de la revista
    private static final String REVISTA_ACTIVADA = "on";
    private static final String REVISTA_DESACTIVADA = "off";
    private static final String REVISTA_PUBLICADA = "Publicada";
    private static final String MENSAJE_CIERRE_NUMERO = "Se ha cerrado el numero con exito";
    private static final String MENSAJE_CREACION_REVISTA = "Se ha creado la revista con exito";
    private static final String MENSAJE_SECCION_VACIO = "La seccion no tiene articulos";

    //Constante para el error
    private static final String ERROR_FORM = "<div style='color:red'>Todos los campos deben ser rellenados</div>";
    private static final String ERROR_FORM_MOD = "Error en la modificacion";
    private static final String ERROR_FORM_ELM = "Error en la eliminacion";
    private static final String ERROR_FORM_ADD = "Error en la inserseccion";
    private static final String ERROR_CIERRE_NUMERO = "Error al cerrar el numero";
    private static final String ERROR_CREACION_REVISTA = "Error al crear la revista";
    private static final String ARTENVIADO_ERROR = "Error al enviar el articulo";

    //Constante para el email
    private static final String PATTERN_EMAIL = "^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@"
            + "[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$";

    private static String SEPARATOR;

    private static final String CARPETA_ARTICULOS = "Articulos";

    private static final String CARPETA_FOTOS = "Fotos";

    private static final String CARPETA_DATOS = "datos";

    private static final int SECCIONES_POR_COLUMNA = 10;
    
    /**
     * Metodo que retonar el string cuando no es una seccion no tiene articulos
     *
     * @return
     */
    public static String getMENSAJE_SECCION_VACIO() {
        return MENSAJE_SECCION_VACIO;
    }
    
    

    /**
     * Metodo que retonar el string cuando no es una asignatura lo que se elige
     *
     * @return
     */
    public static String getNO_ASIGNATURA() {
        return NO_ASIGNATURA;
    }

    /**
     * Metodo que retonar el string cuando no es una seccion lo que se elige
     *
     * @return
     */
    public static String getNO_SECCION() {
        return NO_SECCION;
    }

    /**
     * Metodo que retorna las secciones que hay que pintar por columna
     *
     * @return
     */
    public static int getSECCIONES_POR_COLUMNA() {
        return SECCIONES_POR_COLUMNA;
    }

    /**
     * Error para que se completen todos los campos de un formulario
     *
     * @return
     */
    public static String getERROR_FORM() {
        return ERROR_FORM;
    }

    /**
     * Error al modificar algo
     *
     * @return
     */
    public static String getERROR_FORM_MOD() {
        return ERROR_FORM_MOD;
    }

    /**
     * Error al eliminar algo
     *
     * @return
     */
    public static String getERROR_FORM_ELM() {
        return ERROR_FORM_ELM;
    }

    /**
     * Error al anadir algo
     *
     * @return
     */
    public static String getERROR_FORM_ADD() {
        return ERROR_FORM_ADD;
    }

    /**
     * Error al cerrar un numero de la revista
     *
     * @return
     */
    public static String getERROR_CIERRE_NUMERO() {
        return ERROR_CIERRE_NUMERO;
    }

    /**
     * Metodo que retornar la carpeta que hay despues de WEB-INF
     *
     * @return
     */
    public static String getCARPETA_DATOS() {
        return CARPETA_DATOS;
    }

    /**
     * Metodo que devuelve la ruta donde se guardan los articulos
     *
     * @return
     */
    public static String getCARPETA_ARTICULOS() {
        return CARPETA_ARTICULOS;
    }

    /**
     * Metodo que devuelve la ruta donde se guardan las fotos
     *
     * @return
     */
    public static String getCARPETA_FOTOS() {
        return CARPETA_FOTOS;
    }

    /**
     * Metodo para saber en que sistema operativo esta
     *
     * @return
     */
    public static String getSEPARATOR() {
        SEPARATOR = OS.getDirectorySeparator();
        return SEPARATOR;
    }

    /**
     * Para un ariticulo que su tema sea de divulgativo
     *
     * @return
     */
    public static String getTEMA_DIVULGATIVO() {
        return TEMA_DIVULGATIVO;
    }

    /**
     * Para un ariticulo que su tema sea de investigacion
     *
     * @return
     */
    public static String getTEMA_INVESTIGACION() {
        return TEMA_INVESTIGACION;
    }

    /**
     * Expresion regular que comprueba un email
     *
     * @return
     */
    public static String getPATTERN_EMAIL() {
        return PATTERN_EMAIL;
    }

    /**
     * Estado de articulo nuevo
     *
     * @return
     */
    public static String getART_SUBIDO() {
        return ART_SUBIDO;
    }

    /**
     * Estado de articulo que esta en revision en seccion
     *
     * @return
     */
    public static String getART_EN_REVISION() {
        return ART_EN_REVISION;
    }

    /**
     * Estado de articulo que esta en maquetacion
     *
     * @return
     */
    public static String getART_EN_MAQUETACION() {
        return ART_EN_MAQUETACION;
    }

    /**
     * Estado de articulo para cuando es rechazado en seccion
     *
     * @return
     */
    public static String getART_RECHAZADO_SECCION() {
        return ART_RECHAZADO_SECCION;
    }

    /**
     * Estado de articulo cuando ya esta listo para imprimir/añadir en la
     * revista
     *
     * @return
     */
    public static String getART_A_IMPRIMIR() {
        return ART_A_IMPRIMIR;
    }

    /**
     * Estado de articulo para cuando es rechazado en maquetacion
     *
     * @return
     */
    public static String getART_RECHAZADO_MAQUETACION() {
        return ART_RECHAZADO_MAQUETACION;
    }

    /**
     * Estado de articulo cuando esta publicado
     *
     * @return
     */
    public static String getART_PUBLICADO() {
        return ART_PUBLICADO;
    }

    /**
     * Mensaje para indicar que el articulo se ha enviado con éxito
     *
     * @return
     */
    public static String getART_ENVIADO_OK() {
        return ART_ENVIADO_OK;
    }

    /**
     * Mensaje para indicar que se ha producido un error al enviar el artículo
     *
     * @return
     */
    public static String getARTENVIADO_ERROR() {
        return ARTENVIADO_ERROR;
    }

    /**
     * Descripcion por defecto del autor
     *
     * @return
     */
    public static String getDESCAUTOR() {
        return DESCAUTOR;
    }

    /**
     * Tipo de autor externo a la UPO
     *
     * @return
     */
    public static String getEXTERNO_UPO() {
        return EXTERNO_UPO;
    }

    /**
     * Tipo de autor interno a la UPO
     *
     * @return
     */
    public static String getINTERNO_UPO() {
        return INTERNO_UPO;
    }

    /**
     * Rol del usuario superuser
     *
     * @return
     */
    public static String getROL_SUPERUSER() {
        return ROL_SUPERUSER;
    }

    /**
     * Rol del usuario de seccion
     *
     * @return
     */
    public static String getROL_SECCION() {
        return ROL_SECCION;
    }

    /**
     * Rol del usuario de maquetacion
     *
     * @return
     */
    public static String getROL_MAQUETACION() {
        return ROL_MAQUETACION;
    }

    /**
     * Estado para cuando una seccion esta activada. (Visible para los usaurios)
     *
     * @return
     */
    public static String getSECCION_ACTIVADA() {
        return SECCION_ACTIVADA;
    }

    /**
     * Estado para cuando una seccion esta desactivada. (No visible para los
     * usaurios)
     *
     * @return
     */
    public static String getSECCION_DESACTIVADA() {
        return SECCION_DESACTIVADA;
    }

    /**
     * Estado para cuando una revista esta activada. (Los usuarios pueden añadir
     * articulos a la revista)
     *
     * @return
     */
    public static String getREVISTA_ACTIVADA() {
        return REVISTA_ACTIVADA;
    }

    /**
     * Estado para cuando una revista esta desactivada. (Los usuarios no pueden
     * añadir articulos a la revista)
     *
     * @return
     */
    public static String getREVISTA_DESACTIVADA() {
        return REVISTA_DESACTIVADA;
    }

    /**
     * Mensaje de exito al cerrar un numero
     *
     * @return
     */
    public static String getMENSAJE_CIERRE_NUMERO() {
        return MENSAJE_CIERRE_NUMERO;
    }

    /**
     * Estado para cuando una revista esta publicada
     *
     * @return
     */
    public static String getREVISTA_PUBLICADA() {
        return REVISTA_PUBLICADA;
    }

    /**
     * Mensaje que aparece cuando revista es publicada
     *
     * @return
     */
    public static String getMENSAJE_CREACION_REVISTA() {
        return MENSAJE_CREACION_REVISTA;
    }

    /**
     * Error al publicar una revista
     *
     * @return
     */
    public static String getERROR_CREACION_REVISTA() {
        return ERROR_CREACION_REVISTA;
    }

}
